1. Field of the Invention
The invention relates generally to workflow processing and more specifically relates to improved workflow processing to permit a group of related jobs to be processed substantially independently while synchronizing and maintaining the original order of the jobs at appropriate points in the workflow.
2. Discussion of Related Art
In high volume (e.g., “print shop”) printing environments, it is common that print jobs involve a number of steps for intermediate processing between the initial intake/reception of the print job and the completed output of the print job through the printing system. Often, such high volume printing environments utilize programs referred to as workflow management systems to control and sequence a print job through the various steps required to complete the presentation output. For example, printing may involve initial ripping or rasterizing of the print job's source data, resources external to the source data may be utilized in performing such ripping or rasterizing, the rasterized page images may be formatted for presentation on a particular, available type or size of paper, the images may then be imprinted on selected paper, and the printed images may then be post-processed by folding, stuffing, stapling, cutting, collating, etc. Each of these various processing steps may be defined as actions in a workflow job type associated with the print job. Thus the workflow manager processes a particular print job by initiating, and following progress each step of the sequence of actions as defined by a job type associated with the print job. Exemplary of a typical, commercially available workflow processing system in the print shop context is the IBM Infoprint Manager (“IPM”) or the IBM Infoprint ProcessDirector (“IPPD”).
In some high volume printing environments, a plurality of such jobs may be communicated from a job source to the presentation/printing system. In addition, a single, more complex job may be received from a job source and divided into multiple smaller, simpler jobs by processing within the printing enterprise. Though each of the individual jobs may have certain unique attributes, actions, and steps to be processed separately and independently from other jobs, the collection of multiple jobs may be logically grouped by the printing environment such that the plurality of jobs are processed as a single job by the workflow manager (e.g., a “group job” or a “meta-job”).
In normal workflow processing systems, individual jobs can go through any workflow defined by their respective job type. Each job is processed independently and may therefore jump ahead or get “passed” by other jobs as they move through the workflow. Each job will process a step in its workflow as fast as it can and then move to the next step. If a set of jobs were treated this way, they could very easily become out of order. Current workflow processing systems have some limited concepts for defining a group or set of related jobs. Present workflow processing systems provide little flexibility in processing such related groups of jobs in that individual jobs of the group may be processed without the flexibility to apply special processing parameters and steps defined by the job's job type. In other words, all jobs in a group of related jobs are processed in accordance with only one generic job type. For example, all jobs of the group are processed with reference only to common job steps applicable to all jobs of the group—i.e., a “lowest common denominator” of job type processing. Special processing for individual jobs of the group may be disallowed by present workflow management systems. In addition, if one job of the group of related jobs generates an error condition and must be reprocessed, present workflow management systems typically require that all jobs of the group (logically aggregated as a single job for management purposes) must be reprocessed.
Thus, present workflow management systems as utilized, for example, in high volume print shop applications are inflexible as regards the processing of such related groups of jobs. Similar issues arise in other workflow management applications other than high volume print shop applications. Numerous other applications utilize similar workflow management concepts to permit groups of related jobs to be processed. Thus, the problems of inflexible workflow management also arise in other contexts.
It is evident from the above discussion that a need exists for improved methods and systems for flexible workflow management especially as relates to processing of multiple related jobs. A particular need exists in the context of high volume print shop workflow management systems.